package series

import (
	"errors"
	"fmt"
)

// init方法会在客户端代码的main方法执行前被执行
func init() {
	fmt.Println("init1")
}

// 一个文件里可以又多个init方法
func init() {
	fmt.Println("init2")
}

// 包装自己的可复用模块
// 方法名必须大写才能被其他包使用
func Fibonacci(n int) ([]int, error) {
	if n < 2 {
		return nil, errors.New("不能小于2")
	}
	fibList := []int{1, 1}
	for i := 2; i < n; i++ {
		fibList = append(fibList, fibList[i-1]+fibList[i-2])
	}
	return fibList, nil
}
